package src.A_JavaBase;

import java.util.Arrays;

// 正则表达式
public class Oop07_RegularExpression {
    public static void main(String[] args) {
        String s = "0";
        boolean res  = s.matches("[0-9]"); // 只能匹配0到9十位数字中的一位数字
        //boolean res  = s.matches("[1,2,3,4]"); // 1,2,3,4其中一位
        //boolean res  = s.matches("\\d"); // \\d == [0-9]
        //boolean res  = s.matches("\\D"); // 不是0-9之间
        //boolean res  = s.matches("[0-9]?"); // ?一次或一次也没有
        //boolean res  = s.matches("[0-9]*"); // * 0次或多次
        //boolean res  = s.matches("[0-9]+"); // +  1次或多次
        //boolean res  = s.matches("[0-9]{6}"); // {n} 固定的n位
        //boolean res  = s.matches("[0-9]{6,}"); // {n,}  至少是n位
        //boolean res  = s.matches("[0-9]{6,9}"); // {n,m}  至少是n位,最大m位
        //boolean res  = s.matches("[1][3,5,7,8,9]\\d{9}"); // 手机号
        //boolean res  = s.matches("[1-9][0-9]{5,12}"); // qq  数字 6 -13  第一位不能以0开头

        //boolean res  = s.matches("[a-z]+"); // 小写字母
        //boolean res  = s.matches("[A-Z]+"); // 大写字母
        // boolean res  = s.matches("[A-z]+"); // 大小写字母
        // boolean res  = s.matches("\\w+"); // [a-z,A-Z,0-9,_]
        // boolean res  = s.matches("[\\u4e00-\\u9fa5]+"); // 匹配汉字
        //邮箱规则?  有字母, 数字   @ qq/163/sina,yahu .com/com.cn
        //boolean res  = s.matches("\\w{6,10}@\\w{2,6}\\.(com|com\\.cn)"); // \\.只能是点
        System.out.println(res);

        String s1 = "ab2cd3ef5g";
        String []  array =  s1.split("\\d"); // 以数字进行分割
        System.out.println(Arrays.toString(array)); // [ab,cd,ef,g]

        String s2 = "ab2cd3e2f5g";
        //System.out.println(s2.replace("2", "X")); // abXcd3eXf5g，用X替换掉字符串里面所有的2，普通的匹配
        System.out.println(s2.replaceAll("\\d", "X")); // abXcdXeXfXg  用X替换掉字符串里面所有的数字，正则表达式匹配
    }
}
